package com.culturalCenter.dataCenter.Utils;

import org.slf4j.Logger;

import javax.servlet.http.HttpServletRequest;

/**
 * @Author Wu
 */
public class LogException {

    public static void LogError(Logger log, Exception ex) {
        StackTraceElement stackTraceElement = ex.getStackTrace()[0];
        String errorMsg = "\r\n文件名：" + stackTraceElement.getFileName() +
                "\r\n类名：" + stackTraceElement.getClassName() +
                "\r\n方法名：" + stackTraceElement.getMethodName() +
                "\r\n抛出异常行号：" + stackTraceElement.getLineNumber() +
                "\r\n机构ID异常，无法获取本机构信息：" + ex;
        log.error(errorMsg);
    }

    public static void LogError(Logger log, String exceptionName, Exception ex) {
        StackTraceElement stackTraceElement = ex.getStackTrace()[0];
        String errorMsg = "\r\n异常类型：" + exceptionName +
                "\r\n文件名：" + stackTraceElement.getFileName() +
                "\r\n类名：" + stackTraceElement.getClassName() +
                "\r\n方法名：" + stackTraceElement.getMethodName() +
                "\r\n抛出异常行号：" + stackTraceElement.getLineNumber() +
                "\r\n机构ID异常，无法获取本机构信息：" + ex;
        log.error(errorMsg);
    }

    public static void LogError(Logger log, HttpServletRequest request, String exceptionName, Exception ex) {
        StackTraceElement stackTraceElement = ex.getStackTrace()[0];
        String errorMsg = "\r\n========================================== Start ==========================================" +
                "\r\nURL: {} " + request.getRequestURL().toString() +
                "\r\nHTTP Method    : {}" + request.getMethod() +
                "\r\n异常类型：" + exceptionName +
                "\r\n文件名：" + stackTraceElement.getFileName() +
                "\r\n类名：" + stackTraceElement.getClassName() +
                "\r\n方法名：" + stackTraceElement.getMethodName() +
                "\r\n抛出异常行号：" + stackTraceElement.getLineNumber() +
                "\r\n机构ID异常，无法获取本机构信息：" + ex +
                "\r\n========================================== END ==========================================";
        log.error(errorMsg);
    }

}
